package untiring07.j2ee.advanced;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class J02HelloHttpServlet extends HttpServlet {
	
	// 앞에서 보듯  서블릿 인터페이스를 구현해서
	// 서블릿클래스로 만드는 경우
	// 일반적으로 service메서드만 사용하는데
	// 잘 사용하지도 않는 4개의 메서드도 정의해샤 함
	// 상당히 비효울적임
	// 또한, 서블릿 클래스를 url-pattern 지정한 경로로 실행하기 위해 URL을
	// 적절히 변경해야 했음
	
	// 따라서, 기존의 Servlet 인터페이스를 base 클래스로 만든 GenericServlet 클래스를 지원함
	// 여기에, HTTP 처리기능을 추가시킨 HttpServlet 클래스를 사용하면
	// 위에서 나타난 대부분의 문제점은 해결됨
	
	// HttpServlet 클래스를 사용할 때에는 굳이 service 메서드를 따로 재정의 할 필요 없음
	// 단지, doGet , doPost 메서드만 재정의하는 것을 추천
	
	private static final long serialVersionUID = 1L;
     
	// http 프로토콜 중 get 메서드를 처리하기 위한 메서드
	// 즉,데이터 조회시 사용하는 메서드
	protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
		
		res.setContentType("text/html;charset=UTF-8");
		PrintWriter out = res.getWriter();
		out.print("<h1>안녕하신가<h1>");
	}

	// http 프로토콜 중 post 메서드를 처리하기 위한 메서드
	// 즉, 데이터를 전송할때 사용하는 메서드
	protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

}
